1. Field of the Invention
This invention relates to memory arrangements for computer systems and, more particularly, to methods and apparatus for storing pixel information for bit-mapped computer displays.
2. History of the Prior Art
Computer graphics images are normally presented on bit-mapped output displays which furnish a rectangular array of rows and columns of pixels which are variously illuminated to provide the particular image. In such a display, the particular illumination at each pixel is controlled by pixel values stored in a frame buffer. A frame buffer is a memory array which contains a sufficient number of storage positions for all of the information necessary to control the illumination of each pixel of the output display, to describe the pixel as black or white, as a shade of grey, as one of a few colors, or as one of many colors. This storage normally is accomplished by binary devices; and there are typically one, eight, or twenty-four binary bits allotted for storing the information regarding each pixel. If the display is black and white, a single bit may suffice; if scales of grey or a few colors are shown, eight bits may be used; while a large number of colors may be provided by the use of twenty-four bits of storage.
Frame buffers may be organized in at least two different configurations. In one organization, each bit of a pixel is stored in a separate physical plane of the frame buffer so that a frame buffer capable of handling eight-bit color pixels has a total of eight planes for storing information; this organization allows individual bits of a pixel to be treated where this is useful. Contrasted to this is a second organization in which all of the bits of a pixel are stored serially in one plane; this organization allows individual pixels to be manipulated more easily.
While the typical storage required for each pixel in an advanced system is eight or twenty-four bit positions, almost all addressing in most computer systems is done by addresses which require thirty-two or sixteen bits of storage. In almost all modern personal computers, a thirty-two bit space is chosen to represent an addressable computer word (although these computers may typically address half-words as well) because precise powers of two are much easier to manipulate in a binary system. Thus, while the number of bits representing pixels most used are eight and twenty-four, the addressable space provided in frame buffers for storing that information is typically thirty-two bits. When the pixel information requires eight bits, four pixels may be stored in any addressable word space in a frame buffer, and no storage space is lost. However, typically, when handling twenty-four bit color information a single pixel is stored in each addressable word of a frame buffer; and the extra eight bits of the word space are wasted in a system which organizes the pixels to be stored serially. Since different programs may provide different levels of color output, it is an economic necessity that a computer be capable of handling both eight and twenty-four bits color information. Since four eight bit pixels fit precisely into the thirty-two bit word space, simply eliminating the extra eight bits is not an acceptable solution.